package com.dongzhu1428.express.module1.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import java.sql.Timestamp;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Builder;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

/**
 * <p>
 * 
 * </p>
 *
 * @author 
 * @since 2022-12-09
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = false)
public class DeliveryTask implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    *  任务id
    */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
    *  昵称
    */
    @TableField("`nick_name`")
    private String nickName;

    /**
    *  驿站id
    */
    @TableField("`express_station_id`")
    private Integer expressStationId;

    /**
    *  用户id
    */
    @TableField("`user_id`")
    private Integer userId;

    /**
    *  快递员id
    */
    @TableField("`courier_id`")
    private Integer courierId;

    /**
    *  收件地址
    */
    @TableField("`address`")
    private String address;

    /**
    *  重量/kg
    */
    @TableField("`weight`")
    private String weight;

    /**
    *  贵重程度 0  1 2 级，分别代表低中高
    */
    @TableField("`value`")
    private Integer value;

    /**
    *  送快递上门时间
    */
    @TableField("`door_time`")
    private Timestamp doorTime;

    /**
    *  快递数量
    */
    @TableField("`express_num`")
    private Integer expressNum;

    /**
    *  备注
    */
    @TableField("`comment`")
    private String comment;

    /**
    *  赏金/元
    */
    @TableField("`reward`")
    private String reward;

    /**
    *  任务发布时间
    */
    @TableField("`create_time`")
    private Timestamp createTime;

    /**
    *  任务接受时间
    */
    @TableField("`accept_time`")
    private Timestamp acceptTime;

    /**
    *  任务完成时间
    */
    @TableField("`complete_time`")
    private Timestamp completeTime;

    /**
    *  任务状态: 0表示待接受   1表示未完成  2表示已完成
    */
    @TableField("`state`")
    private Integer state;

    /**
    *  是否使用黑名单 默认不使用
    */
    @TableField("`use_black_list`")
    private Boolean useBlackList;

    /**
    *  是否使用白名单 默认不使用
    */
    @TableField("`use_while_list`")
    private Boolean useWhileList;

    /**
    *  任务结果
    */
    @TableField("`result`")
    private String result;


}
